/***********************************************************************************
 * 文件名： mcu.h
 * 作者： 黄均铭
 * 版本： 1
 * 说明：
 * 		MCU 所有的驱动顶层文件，使用MCU驱动只用包含这一个文件即可。
 * 修改记录：
 * 	2024年1月3日: 初版。黄均铭。
 ***********************************************************************************/
#ifndef _MCU_H_
#define _MCU_H_

#ifdef __cplusplus
extern "C"
{
#endif

#include "system.h"
#include "CMS32F0301_Config.h"   // MCU驱动配置文件

#include "..\ARM\typedef.h"
#if defined(ARMCM4)
#include "ARMCM4\Include\ARMCM4.h"
#elif defined(ARMCM4_FP)
#include "ARMCM4\Include\ARMCM4_FP.h"
#endif

///////////////////////////// 提供的API

#if F_HCLK > 48
    #define F_APBCLK    F_HCLK
#else
    #define F_APBCLK    F_HCLK
#endif

// 提供给 Polsys 调用
#define Mcu_Init()                                    // ARM内核的MCU一般在 SystemInit() 函数中初始化时钟
#define Mcu_TickStart() SysTick_Config(SYSTICK_VALUE) // 启动系统节拍计时器
#define Mcu_EnableInt() __enable_irq()                // 开全局中断
#define Mcu_DisableInt() __disable_irq()              // 关全局中断

    ///////////////////////////// 外设驱动

#include "mcu_power.h"
#include "mcu_delay.h"
#include "mcu_adc.h"
#include "mcu_spi.h"
#include "mcu_timer.h"
#include "mcu_flash.h"
#include "mcu_uart.h"
#include "mcu_wdt.h"

#ifdef __cplusplus
}
#endif

#endif
